package dem;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * 集合的交集 并集 差集的测试
 */
public class Demo {
    public static void main(String[] args) {
//        testSet();
//        testUnionSet();
//        testDiffrenceSet();
        testUnionList();
    }


    //java中交集使用 A.retainAll(B) ,交集的结果在集合A中。
    private static void testSet() {
        Set<Integer> set1= new HashSet<>();
        Set<Integer> set2= new HashSet<>();
        set1.add(1);
        set1.add(2);
        set2.add(2);
        set2.add(3);
        set1.retainAll(set2);
        System.out.println(set1);


    }
//并集使用addAll，A.addAll(B) 因为set本身就去重，所有直接全部添加到一个集合中取并集。
    private static void testUnionSet() {
        Set<Integer> set1= new HashSet<>();
        Set<Integer> set2= new HashSet<>();
        set1.add(1);
        set1.add(2);
        set2.add(2);
        set2.add(3);
        set1.addAll(set2);
        System.out.println(set1);
    }

    private static void testDiffrenceSet() {
        Set<Integer> set1= new HashSet<>();
        Set<Integer> set2= new HashSet<>();
        set1.add(1);
        set1.add(2);
        set2.add(2);
        set2.add(3);
        set1.removeAll(set2);
        System.out.println(set1);
    }
    //list 求并集不会去除重复元素   可以先差集  在并集
    private static void testUnionList() {
        List<Integer> list1= new ArrayList<>();
        List<Integer> list2= new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list2.add(2);
        list2.add(3);
        list1.removeAll(list2);
        list1.addAll(list2);
        System.out.println("update");

    }


}
